home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / OutOfPhase1.1 Source / OutOfPhase Folder / SampleConsts.h < prev    next >
Text File  |  1994-08-15  |  3KB  |  67 lines

  1. /* SampleConsts.h */
  2. /*****************************************************************************/
  3. /*                                                                           */
  4. /*    Out Of Phase:  Digital Music Synthesis on General Purpose Computers    */
  5. /*    Copyright (C) 1994  Thomas R. Lawrence                                 */
  6. /*                                                                           */
  7. /*    This program is free software; you can redistribute it and/or modify   */
  8. /*    it under the terms of the GNU General Public License as published by   */
  9. /*    the Free Software Foundation; either version 2 of the License, or      */
  10. /*    (at your option) any later version.                                    */
  11. /*                                                                           */
  12. /*    This program is distributed in the hope that it will be useful,        */
  13. /*    but WITHOUT ANY WARRANTY; without even the implied warranty of         */
  14. /*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          */
  15. /*    GNU General Public License for more details.                           */
  16. /*                                                                           */
  17. /*    You should have received a copy of the GNU General Public License      */
  18. /*    along with this program; if not, write to the Free Software            */
  19. /*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.              */
  20. /*                                                                           */
  21. /*    Thomas R. Lawrence can be reached at tomlaw@world.std.com.             */
  22. /*                                                                           */
  23. /*****************************************************************************/
  24.  
  25. #ifndef Included_SampleConsts_h
  26. #define Included_SampleConsts_h
  27.  
  28. /* SampleConsts module depends on */
  29. /* MiscInfo.h */
  30. /* Audit */
  31. /* Debug */
  32. /* Definitions */
  33.  
  34. /* this type specifies values for knowing how many bits there are in a sample */
  35. typedef enum {eSample8bit EXECUTE(= -1934), eSample16bit} NumBitsType;
  36.  
  37. /* this type specifies mono and stereo samples */
  38. typedef enum {eSampleMono EXECUTE(= -6131), eSampleStereo} NumChannelsType;
  39.  
  40. /* this type provides specifiers for selecting a channel */
  41. typedef enum {eLeftChannel EXECUTE(= 18324), eRightChannel, eMonoChannel} ChannelType;
  42.  
  43. /* these values specify limits on sample values for 8 and 16 bit samples */
  44. #define MAX8BIT (127)
  45. #define MIN8BIT (-MAX8BIT)
  46. #define MAX16BIT (32767)
  47. #define MIN16BIT (-MAX16BIT)
  48.  
  49. /* these define some arbitrary (but hopefully reasonable) limits on various */
  50. /* attributes for samples */
  51. #define MINSAMPLINGRATE (100)
  52. #define MAXSAMPLINGRATE (65535)
  53. #define MINNATURALFREQ (0.01)
  54. #define MAXNATURALFREQ (1e6)
  55.  
  56. /* this type specifies errors that can be returned from routines that try */
  57. /* to get fixed-point arrays in the expression evaluator. */
  58. typedef enum
  59.     {
  60.         eEvalSampleNoError EXECUTE(= -31251),
  61.         eEvalSampleUndefined,
  62.         eEvalSampleWrongChannel,
  63.         eEvalSampleNotEnoughMemoryToCopy
  64.     } SampleErrors;
  65.  
  66. #endif
  67.